package tacticalLayer;

import org.jdom.Element;

import planninglanguage.plans.BasicOperatorPlan;
import util.XMLWriter;
import base.CBLILRModule;
import base.WargusGameState;

abstract public class TacticalLayer extends CBLILRModule {

	int m_playerID = 0;	
	WargusGameState m_currentGameState = null;

	public TacticalLayer() {		
	}	
	
	public void command(BasicOperatorPlan bo) {
		bo.send();
	}	
	
	abstract public void cycle() throws InterruptedException;
	
	public WargusGameState getCurrentGameState() {
		return m_currentGameState;
	}
	
	public int getPlayerID() {return m_playerID;};
	
	abstract public void writeXML(XMLWriter w);
	abstract public void loadFromXML(Element e);
}
